The present invention relates generally to verifying messages received from a communication network, and more particularly to verifying test messages transmitted by a transmitting terminal and received by a receiving terminal via a communication network.
It is known that a communication network, such a local area network (LAN) or a wide area network (WAN), can transmit data among the communication terminals connected to it. To test a communication network and the communication terminals that are connected to the communication network, heavy traffic loads (i.e., sufficient data traffic to approach the capacity limits of the network or terminals) must be placed on the communication network, because heavy traffic loads can reveal some characteristics and behaviors of the network which otherwise may not be discovered.
Test messages often contain meaningless data, included as padding to create messages of a desired length. Prior to transmitting a test message, a transmitting terminal may split the test message into many data segments, and then send them to a receiving terminal via the network being tested.
The receiving terminal receives the transmitted data segments, places them in proper sequence if necessary, and reassembles the messages in a storage device. Even though a computed value, such as cyclic redundancy check, may be attached to each individual segment to detect transmission error for the segment, the computed value is not able to detect any corruption or misordering of the received segments which takes place in the storage device. The network may also contain intermediate storage devices, within which the segments are similarly unprotected. Thus, the receiving terminal needs to verify the received segments, and to ensure all the segments of a message were delivered correctly and in order.
One conventional scheme to verify the received data segments is to set a predetermined data segment pattern by always sending the same message or message sequence. However, under this scheme, some particular message sequence or segment length, capable of causing errors, can be easily omitted.
Another conventional scheme to verify the received data segments is to send a message having a simple repeating pattern. However, such a simple pattern may repeat in such a way that parts of a message received can be misordered without detection.
Still another conventional scheme to verify the received data segments is to transmit a test message from a transmitting terminal to a receiving terminal, and re-transmit the test message from the receiving terminal back to the transmitting terminal. This scheme restricts the variety of traffic configurations tested, by requiring a balanced flow of traffic in both directions. A large volume of traffic flow in a single direction, with no comparable traffic flow in the reverse direction, often exhibits different behaviors in the communication network and the communication terminals connected to it.
Thus, there is a need to provide an improved method and apparatus that can detect various types of errors for a sequence of received message efficiently and effectively.
The present invention meets this need.